<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui" xmlns:comp="http://java.sun.com/jsf/composite/componentes"
	template="/template/template.xhtml">

	<f:metadata>
		<f:viewParam name="idProforma" value="#{proyectoBean.idProforma}" />
		<f:viewParam name="idProyecto" value="#{proyectoBean.idProyecto}" />
		<f:event listener="#{proyectoBean.cargarProyectoDesdeProforma}" type="preRenderView" />
	</f:metadata>

	<ui:define name="contenido">

		<h:form id="form">

			<p:outputPanel id="panelContenedor">

				<comp:barra bean="#{proyectoBean}" renderedNuevo="false">
					<p:commandButton value="Plan Operativo" action="#{proyectoBean.generarPlanOperativo}" process="@this :form:panelContenedor"
						icon="ui-icon-extlink" partialSubmit="true" disabled="#{proyectoBean.editado}">
					</p:commandButton>
					<comp:buttonExportaExcel bean="#{proyectoBean}" tabla=":form:tablaProyecto" />
				</comp:barra>

				<p:outputPanel id="panelNuevo" rendered="#{proyectoBean.editado}">

					<p:panel header="Crear/Editar (Proyecto)">

						<h:panelGrid id="panelProyecto" columns="4" columnClasses="columnaEtiqueta,columnaValor,columnaEtiqueta,columnaValor">

							<h:outputText value="Proforma:" />
							<h:outputText styleClass="input-text" value="#{proyectoBean.proyecto.proforma.caprCodOferta}-#{proyectoBean.proyecto.proforma.caprFecha}"
								id="txtProforma" />

							<h:outputText value="Fecha:" />
							<p:calendar pattern="dd/MM/yyyy" showOn="button" navigator="true" value="#{proyectoBean.proyecto.fecha}" id="calFecha" required="true"
								disabled="#{proyectoBean.proyecto.idProyecto > 0}">
								<p:ajax process="@this" event="dateSelect" global="false" partialSubmit="true" />
								<p:ajax process="@this" event="change" global="false" partialSubmit="true" />
								<f:validateBean />
							</p:calendar>

							<h:outputText value="Numero:" />
							<p:inputText styleClass="input-text" value="#{proyectoBean.proyecto.numero}" id="txtNumero" disabled="true" />

							<h:outputText value="Nombre:" />
							<p:inputText styleClass="input-text" value="#{proyectoBean.proyecto.nombre}" id="txtNombre">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Cliente:" />
							<p:selectOneMenu styleClass="input-text" value="#{proyectoBean.proyecto.cliente}" id="cboClientes" converter="clienteConverter">
								<f:selectItem itemValue="" itemLabel="Seleccione.." />
								<f:selectItems value="#{proyectoBean.listaClientes}" var="_clientes" itemLabel="#{_clientes.clieNombre}" itemValue="#{_clientes}" />
								<p:ajax event="change" process="@this" listener="#{proyectoBean.cargarListaContactosClientes}" update="cboContactoCliente" />
							</p:selectOneMenu>

							<h:outputText value="Representante Tecnico:" />
							<p:selectOneMenu styleClass="input-text" value="#{proyectoBean.proyecto.contactoCliente}" id="cboContactoCliente"
								converter="contactoClienteConverter">
								<f:selectItem itemValue="" itemLabel="Seleccione.." />
								<f:selectItems value="#{proyectoBean.listaContactoCliente}" var="_contactoCliente" itemLabel="#{_contactoCliente.nombre}"
									itemValue="#{_contactoCliente}" />
							</p:selectOneMenu>

							<h:outputText value="Contratista:" />
							<p:selectOneMenu styleClass="input-text" value="#{proyectoBean.proyecto.contratista}" id="cboContratista" converter="contratistaConverter">
								<f:selectItem itemValue="" itemLabel="Seleccione.." />
								<f:selectItems value="#{proyectoBean.listaContratista}" var="_contratista" itemLabel="#{_contratista.nombre}" itemValue="#{_contratista}" />
								<p:ajax event="change" process="@this" listener="#{proyectoBean.cargarListaContactosContratistas}" update="cboContactoContratista" />
							</p:selectOneMenu>

							<h:outputText value="Lider Contratista:" />
							<p:selectOneMenu styleClass="input-text" value="#{proyectoBean.proyecto.contactoContratista}" id="cboContactoContratista"
								converter="contactoContratistaConverter">
								<f:selectItem itemValue="" itemLabel="Seleccione.." />
								<f:selectItems value="#{proyectoBean.listaContactoContratista}" var="_contactoContratista" itemLabel="#{_contactoContratista.nombre}"
									itemValue="#{_contactoContratista}" />
							</p:selectOneMenu>

							<h:outputText value="Lider:" />
							<p:selectOneMenu styleClass="input-text" value="#{proyectoBean.proyecto.usuario}" id="cboLider" converter="usuarioConverter">
								<f:selectItem itemValue="" itemLabel="Seleccione.." />
								<f:selectItems value="#{proyectoBean.listaUsuario}" var="_lider" itemLabel="#{_lider.usuaApellidos} #{_lider.usuaNombres}"
									itemValue="#{_lider}" />
							</p:selectOneMenu>

							<h:outputText value="Sucursal:" />
							<p:selectOneMenu styleClass="input-text" value="#{proyectoBean.proyecto.sucursal}" id="cboSucursal" converter="sucursalConverter">
								<f:selectItem itemValue="" itemLabel="Seleccione.." />
								<f:selectItems value="#{proyectoBean.listaSucursales}" var="_sucursal" itemLabel="#{_sucursal.sucuDescripcion}" itemValue="#{_sucursal}" />
							</p:selectOneMenu>

							<h:outputText value="Tipo Negocio:" />
							<p:selectOneMenu styleClass="input-text" value="#{proyectoBean.proyecto.tipoNegocio}" id="cboTipoNegocio" converter="tipoNegocioConverter">
								<f:selectItems value="#{proyectoBean.listaTipoNegocio}" />
							</p:selectOneMenu>

							<h:outputText value="Codigo DKI:" />
							<p:inputText styleClass="input-text" value="#{proyectoBean.proyecto.codigoDKI}" id="txtCodigoDKI">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Alcance:" />
							<p:inputTextarea styleClass="input-text" value="#{proyectoBean.proyecto.alcance}" id="txtAlcance">
								<f:validateBean />
							</p:inputTextarea>

							<h:outputText value="Direccion Obra:" />
							<p:inputTextarea styleClass="input-text" value="#{proyectoBean.proyecto.direccionObra}" id="txtDireccionObra">
								<f:validateBean />
							</p:inputTextarea>

							<h:outputText value="Orden Trabajo:" />
							<p:inputText styleClass="input-text" value="#{proyectoBean.proyecto.ordenTrabajo}" id="txtOrdenTrabajo">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Orden Trabajo Adicional:" />
							<p:inputText styleClass="input-text" value="#{proyectoBean.proyecto.ordenTrabajoAdicional}" id="txtOrdenTrabajoadicional">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Contrato:" />
							<p:inputText styleClass="input-text" value="#{proyectoBean.proyecto.contrato}" id="txtContrato">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Plano:" />
							<p:inputText styleClass="input-text" value="#{proyectoBean.proyecto.plano}" id="txtPlano">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Distancia:" />
							<p:inputText styleClass="input-text" value="#{proyectoBean.proyecto.distancia}" id="txtDistancia">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Nota:" />
							<p:inputTextarea styleClass="input-text" value="#{proyectoBean.proyecto.descripcion}" id="txtDecripcion">
								<f:validateBean />
							</p:inputTextarea>

						</h:panelGrid>

						<p:spacer width="2px" />

						<p:tabView id="tabViewDetalleProyecto">

							<p:tab title="Contratistas Secudarios">

								<p:outputPanel id="panelContratistasSecundarios">

									<h:panelGrid columns="1" style="width:100%;text-align:left">

										<p:commandButton value="Agregar" icon="ui-icon-plus" action="#{proyectoBean.agregarProyectoContratistaSecundario}" process="@this"
											update=":form:tabViewDetalleProyecto:panelContratistasSecundarios"></p:commandButton>

										<p:dataTable rowIndexVar="secuencial" emptyMessage="No exsten registros" value="#{proyectoBean.listaProyectoContratistaSecundario}"
											var="_contratistaSecundario" paginator="true" paginatorPosition="bottom" style="width:100%" rows="10"
											rowKey="#{_contratistaSecundario.rowKey}">

											<p:column headerText="No">
												<h:outputText value="#{secuencial+1}" />
											</p:column>

											<p:column headerText="Contratista">
												<p:selectOneMenu styleClass="input-text" value="#{_contratistaSecundario.contratista}" id="cboContratistaSecundario"
													converter="contratistaConverter">
													<f:selectItem itemValue="" itemLabel="Seleccione.." />
													<f:selectItems value="#{proyectoBean.listaContratista}" var="_contratista" itemLabel="#{_contratista.nombre}" itemValue="#{_contratista}" />
													<p:ajax process="@this" event="change" partialSubmit="true" />
												</p:selectOneMenu>
											</p:column>

											<p:column styleClass="tableCell columnaDTAccion">
												<p:commandButton icon="ui-icon-trash" action="#{proyectoBean.eliminarProyectoContratistaSecundario(_contratistaSecundario)}"
													process="@this" update=":form:tabViewDetalleProyecto:panelContratistasSecundarios"></p:commandButton>
											</p:column>

										</p:dataTable>

									</h:panelGrid>

								</p:outputPanel>

							</p:tab>

							<p:tab title="Proformas Secundarias">

								<p:outputPanel id="panelProformasSecundarios">

									<h:panelGrid columns="1" style="width:100%;text-align:left">

										<p:commandButton value="Agregar" icon="ui-icon-plus" action="#{proyectoBean.agregarProyectoProformaSecundaria}" process="@this"
											update=":form:tabViewDetalleProyecto:panelProformasSecundarios"></p:commandButton>

										<p:dataTable rowIndexVar="secuencial" emptyMessage="No exsten registros" value="#{proyectoBean.listaProyectoProformaSecundaria}"
											var="_proyectoSecundaria" paginator="true" paginatorPosition="bottom" style="width:100%" rows="10" rowKey="#{_proyectoSecundaria.rowKey}">

											<p:column headerText="No">
												<h:outputText value="#{secuencial+1}" />
											</p:column>

											<p:column headerText="Proforma">
												<p:selectOneMenu styleClass="input-text" value="#{_proyectoSecundaria.proforma}" id="cboProformaSecundaria" converter="proformaConverter">
													<f:selectItem itemValue="" itemLabel="Seleccione.." />
													<f:selectItems value="#{proyectoBean.listaProformas}" var="_proyecto" itemLabel="#{_proyecto.caprCodOferta}" itemValue="#{_proyecto}" />
													<p:ajax process="@this" event="change" partialSubmit="true" />
												</p:selectOneMenu>
											</p:column>

											<p:column styleClass="tableCell columnaDTAccion">
												<p:commandButton icon="ui-icon-trash" action="#{proyectoBean.eliminarProyectoProformaSecundaria(_proyectoSecundaria)}" process="@this"
													update=":form:tabViewDetalleProyecto:panelProformasSecundarios"></p:commandButton>
											</p:column>

										</p:dataTable>

									</h:panelGrid>

								</p:outputPanel>

							</p:tab>


						</p:tabView>


					</p:panel>
				</p:outputPanel>

				<p:outputPanel id="panelListado" rendered="#{!proyectoBean.editado}">

					<p:dataTable lazy="true" id="tablaProyecto" rowIndexVar="secuencial" emptyMessage="No exsten registros" value="#{proyectoBean.listaProyecto}"
						var="_proyecto" binding="#{proyectoBean.dtProyecto}" paginator="true" paginatorPosition="bottom" style="width:100%"
						rows="#{proyectoBean.numeroPaginas}" selection="#{proyectoBean.proyecto}" selectionMode="single" rowKey="#{_proyecto.id}">

						<f:facet name="header">
							<h:outputText value="Lista (Proyecto)" />
						</f:facet>

						<p:column headerText="No">
							<h:outputText value="#{secuencial+1}" />
						</p:column>

						<p:column filterBy="#{_proyecto.numero}" sortBy="#{_proyecto.numero}">
							<f:facet name="header">
								<h:outputText value="Numero" />
							</f:facet>
							<h:outputText value="#{_proyecto.numero}" />
						</p:column>

						<p:column filterBy="#{_proyecto.nombre}" sortBy="#{_proyecto.nombre}">
							<f:facet name="header">
								<h:outputText value="Nombre" />
							</f:facet>
							<h:outputText value="#{_proyecto.nombre}" />
						</p:column>

						<p:column sortBy="#{_proyecto.fecha}">
							<f:facet name="header">
								<h:outputText value="Fecha" />
							</f:facet>
							<h:outputText value="#{_proyecto.fecha}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</p:column>

						<p:column filterBy="#{_proyecto.usuario.usuaApellidos}" sortBy="#{_proyecto.usuario.usuaApellidos}">
							<f:facet name="header">
								<h:outputText value="Lider" />
							</f:facet>
							<h:outputText value="#{_proyecto.usuario.usuaApellidos} #{_proyecto.usuario.usuaNombres}" />
						</p:column>

						<p:column filterBy="#{_proyecto.ordenTrabajo}" sortBy="#{_proyecto.ordenTrabajo}">
							<f:facet name="header">
								<h:outputText value="Orden T." />
							</f:facet>
							<h:outputText value="#{_proyecto.ordenTrabajo}" />
						</p:column>

						<p:column filterBy="#{_proyecto.persona.persNombre}" sortBy="#{_proyecto.persona.persNombre}">
							<f:facet name="header">
								<h:outputText value="Repr. Comercial" />
							</f:facet>
							<h:outputText value="#{_proyecto.persona.persNombre}" />
						</p:column>

						<p:column filterBy="#{_proyecto.cliente.clieNombre}" sortBy="#{_proyecto.cliente.clieNombre}">
							<f:facet name="header">
								<h:outputText value="Cliente" />
							</f:facet>
							<h:outputText value="#{_proyecto.cliente.clieNombre}" />
						</p:column>

						<p:column filterBy="#{_proyecto.contratista.nombre}" sortBy="#{_proyecto.contratista.nombre}">
							<f:facet name="header">
								<h:outputText value="Contratista" />
							</f:facet>
							<h:outputText value="#{_proyecto.contratista.nombre}" />
						</p:column>

						<p:column filterBy="#{_proyecto.tipoNegocio}" sortBy="#{_proyecto.tipoNegocio}" filterOptions="#{proyectoBean.listaTipoNegocioItem}">
							<f:facet name="header">
								<h:outputText value="Tipo Negocio" />
							</f:facet>
							<h:outputText value="#{_proyecto.tipoNegocio.nombre}" />
						</p:column>

						<p:column>
							<f:facet name="header">
								<h:outputText value="Nota" />
							</f:facet>
							<h:outputText value="#{_proyecto.descripcion}" />
						</p:column>

					</p:dataTable>

				</p:outputPanel>

			</p:outputPanel>
		</h:form>

	</ui:define>
</ui:composition>